Soru & Cevap

acil yardım lütfen SUDOKU

13.05.2014 - 05:06

androidde sudoku oyunu yazıyorum 9x9 kareleri oluşturduktan sonra karelerimin içine sayıları atamak için bir diyalog olusturdum fakat bunun için 

private final int[][][] used = new int[9][9][];

private int[] getUsedTiles(int x, int y) {
        return used[x][y];

ilk önce böyle bir dizi tanmlamam gerektgni söyluyor  bu dizilerin mantıgı nedir acaba anlatabilecek var mıdır aci yardımm lütfen

37 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user ekhr
ekhr
13.05.2014 - 07:18

2 boyutlu dizi oluşturmanız yeterlidir. çünkü bildiğim kadarıyla sudoku 2 boyutta oynanan bir oyun. 9x9 luk bir matrix oluşturmak isterseniz 

[code]private final int[][] used = new int[9][9][/code]

yeterli olacaktır.

ilk oluşturduğunuz sayfadaki değerleri 9a9 luk matrixin içine gömün diğer sayfada da bir for döngüsü ile içinde değer olanları kutuların içlerine yerleştirin

Profile picture for user tansuozcn
tansuozcn
13.05.2014 - 06:59
  • ilk önce teşşekkür ederim cevap verdiğiniz için aslında benm yapmak istediğim şu sudoku oyununu oynayabilmek için tuş oluşturdum ayrı bir sayfada ve bu tuşları karelerimin üstüne tıklayınca görüntüleyip yazdırmak istiyorum nasıl bir yol izleyebilirm 3 boyulu dizi tanımlamam şart mı 
Profile picture for user ekhr
ekhr
13.05.2014 - 05:39

[code]private final int[][] used = new int[9][9][/code] şeklinde oluşturmanız gerekiyor.

 

Anladığım kadarıyla da şu methodda:

 

[code]private int[] getUsedTiles(int x, int y) {
        return used[x][y];

}[/code]

dolu olanları almaya çalışmışsınız bunu bir for döngüsü içinde yaparsanız daha iyi olacağını düşünüyorum.

ayrıca bu method size int array döndürmez sadece bir int değeri döndürür. çünkü used array int lerden oluşuyor . gönderdiğiniz x ve y ye göre arrayin o indexlerindeki int değerini döndürür

 

İyi çalışmalar

 

 

 

 

Ercan Görgülü
13.05.2014 - 06:37
Array indexleri her zaman 0'dan başlar doğru ama boyut verirken normal şekilde verilir. private final int[][] used = new int[8][8] şeklinde yaptığınızda 8'e 8lik bir matrix oluşturmuş olursunuz.
Tansu
13.05.2014 - 06:48
ilk önce teşşekkür ederim cevap verdiğiniz için aslında benm yapmak istediğim şu sudoku oyununu oynayabilmek için tuş oluşturdum ayrı bir sayfada ve bu tuşları karelerimin üstüne tıklayınca görüntüleyip yazdırmak istiyorum nasıl bir yol izleyebilirm 3 boyulu dizi tanımlamam şart mı
Ersin Kahraman
13.05.2014 - 07:10
@cavuscan07 hocam teşekkürler cevabınız için haklısınız